http2-misdirect插件用于解决网关开启HTTP2时,因为浏览器复用连接导致访问出现404等问题。
插件类型
传输协议。
插件原理
HTTP2协议允许两个不同域名的请求,在域名解析到相同IP,并且使用了相同证书的情况下,复用同一条连接。这在一些特殊场景会导致复用连接的请求发送给了错误的Virtual Host进行处理,从而导致出现404等问题。本插件在发现请求SNI与当前Virtual Host不匹配时,发送HTTP 421状态码,强制浏览器新建连接,并根据当前请求域名生成匹配的SNI,从而让网关能正确处理路由。
浏览器兼容性
Safari浏览器15.1版本以下不支持HTTP 421状态码,若有此类客户端访问场景,建议对相应域名关闭HTTP2的ALPN。
文档内容是否对您有帮助?